As the Internet has become very successful, the efforts to bring the Internet also to mobile and wireless devices have been considerable. Most of the prior art techniques presently in use are based on the global system for mobile communications (GSM) standard.
The services enabling communication between a mobile station and an Internet ser-vice are termed bearer services. Some bearer services are circuit-based and some message-based. Circuit-based communication requires a certain size of bandwidth allocation regardless of its usage. On the other hand, message-based communication does not require a certain size of bandwidth allocation but it uses the bandwidth avail-able.
Circuit switched data (CSD) and high-speed circuit switched data (HSCSD) are examples of circuit-based bearer services. General packet radio services (GPRS) is an example of a message-based service.
According to GSM/GPRS parlance, a mobile station is a GPRS radio device, such as a GPRS phone, a GPRS PCMCIA card or a built in GPRS radio that may be integrated to a variety of devices. A mobile client device is, for example, a laptop or a personal digital assistant (PDA). A mobile client device communicates with a server located in a GPRS network. An end-user is a person having a mobile client device.
The Internet is a packet switched network whose nodes have an Internet peripheral address (IP address). Each IP address consists of four numbers between 1 and 255, and dots separating each number; for example, 193.199.35.5. Internet addresses are divided into a network address and a host address. The division between host and network address is controlled by a netmask. The routers of the Internet locate the correct receiver by its IP address. Since the Internet is a packet-switched network, no circuit is allocated for the connection. Instead, documents are transmitted in packets from the sender to the receiver, and packets of other connections may be transmitted in the same circuit.
An IP packet usually includes 1–1500 characters. The small size of a packet ensures that transmission capacity, or the lack of the capacity, is divided between end users of a network. Each IP packet includes the following information: from which node a packet is sent, to which node it is sent, which application will receive the packet, and what is its serial number. The serial numbers of packets are required when the content of a document will be composed at the receiving site. Transmission control protocol/Internet protocol (TCP/IP) is a set of protocols that determine how IP packets are transmitted in the Internet.
When using TCP/IP the packets have a sequence number. Thus, a receiver can detect if one or more packets are missing. Then the receiver sends a retransmission request for each missing packet. In another protocol a receiver may send an acknowledgement message in response to receiving a packet or a group of packets. User datagram protocol (UDP) is the most common alternative to TCP/IP. UDP offers a transmission with a minimum of protocol overhead. Therefore retransmission requests or packet acknowledgements are not used in UDP. For the same reason a sender cannot know whether a receiver has received the packets sent.
The world wide web (WWW or web) is an Internet-based, distributed hypermedia information system. The web pages are traditionally represented using hypertext markup language (HTML). HTML and its successor, extensible markup language (XML), are intended for forming structured documents to be interchanged in the web. Structured documents are searched and read through software that is termed a browser. Hypertext transfer protocol (HTTP) determines how structured documents are transferred in the Internet.
Wireless markup language (WML) is a formal language that allows the text portions of structured documents to be presented via wireless network on mobile client devices. WML is a part of wireless application protocol (WAP).
Though the computing capabilities of mobile client devices as well as the Computing capabilities of the Internet servers have increased, the transmission capacity of a bearer service has remained rather low. It has become feasible to carry out extensive real-time optimisations of the traffic. An end-user may access the Internet via the networks based on CSD or HSCSD bearer service. Because these bearer services allocate a certain amount of bandwidth, the bandwidth capacity of a network is poorly utilized. To be more specific, quite a limited number of end-users can use the network at the same time. The number of simultaneous end-users is much higher in a network based on GPRS bearer service.
GPRS supports TCP/IP protocols and their packet nature over a wireless network. The upper limit of transmission capacity is in theory about 170 kb/s per end-user. However, a GPRS is a connectionless bearer service. Therefore a varying number of end-users may use the same channel at the same time and the transmission capacity per end-user varies depending on the number of simultaneous end-users. In practice, the transmission capacity per end-user is in the order of 10-30 kb/s. Thus, end-user experience is slightly better with the GPRS communication than with the CSD communication of 9.6 kb/s, but worse than with the HSCSD communication of 43.2 kb/s. Though GPRS increases the number of simultaneous end-users compared to CSD and HSCSD, its transmission capacity is relatively low.
Universal mobile telecommunications system (UMTS) is a part of the International Telecommunications Union's (ITUs) vision of a global family of third-generation mobile communications. UMTS will deliver low-cost, high-capacity mobile communications offering data rates up to 2 Mb/s.
TCP/IP protocols and especially HTTP are best suited for high-speed, fixed networks. Many Internet applications operate badly in GPRS networks. The performance of Internet applications can be improved by software termed an accelerating system. Also the term “performance enhancing proxy” has been used in the prior art.
An accelerating system includes at least an accelerating server connected to a network, and optional accelerating clients placed in end-users' mobile client devices. There are two kinds of solutions: a client-server solution or a server solution. The client-server solution includes the accelerating clients and server. The server solution includes only the accelerating server.
Packing is an acceleration technique that is most widely used. There are several packing algorithms usable for packing the content of packets. The packing reduces the transmission capacity needs, thus the transmission is accelerated compared to the transmission of unpacked packets.
FIG. 1 describes the architecture of a GPRS network attached to the Internet. A mobile client device 5 uses the Internet and its services via the GPRS network 25. A firewall 50 is placed between the GPRS network and the Internet. The mobile client device includes at least a mobile station 20 and application software 10 such as a browser, by way of example. The mobile client device may also include an accelerating client 15 operating between the mobile station 20 and the application software 10. The GPRS network includes a radio part 30, a serving GPRS support node (SGSN) 35, a gateway GPRS support node (GGSN) 40, and an accelerating server 45. Generally, the radio part 30 comprises a base stations and corresponding infrastructure used in GPRS networks.
The European telecommunications standards institute (ETSI) has defined GPRS and the operation of the SGSN and GGSN nodes; service description, stage 2, GSM 03.60 version 7.4.1 Release 1998 and ETSI EN 301 344, V74.1, 2000-09.
The SGSN and GGSN are also used in UMTS. Their functionality is very similar in UMTS and GPRS networks. Thus, the following description of the SGSN and GGSN also concerns UMTS.
The GGSN is connected to the packet switched-networks external to the GPRS system, for example, the operator specific intranet or external Internet. When end-user data is transmitted between the GGSN and a mobile station, it is tunneled by using GPRS specific packet headers. The headers are added to IP packets. One function of the GGSN is collecting charging and billing data. Depending on the network operator, the charging may be based on the amount of bits sent between the mobile station and the Internet. Also fixed charges may be possible. Typically, the traffic from a mobile station to the Internet, and vice versa, is billed.
The SGSN keeps track of the individual mobile station's location and performs security functions and access control. The SGSN is connected to a radio part (see FIG. 1) and its tasks include collecting charging data.
The SGSN and GGSN act as relay functions. They store and transfer packets which are termed PDP PDUs (packet data protocol, protocol data units). PDP may be the Internet, X.25, or corresponding protocol. The SGSN, as well as the GGSN, has a buffering window for storing the packets for a maximum holding time. A buffering window can be also termed a buffer with a certain size, for example 64 kB. If the buffering window is full or the maximum holding time is reached, the packets are discarded. The discarding protects the resources of a radio part from useless transfer attempts.
The GGSN collects billing information based on the amount of bytes of packets going through the GGSN. If the buffering window of the SGSN is full or the maximum holding time of the SGSN is reached, packets are discarded. However, the GGSN charges for all the packets transmitted to the SGSN. Therefore an end-user is sometimes billed for packets that he/she has never received. The buffering window size and maximum holding time may vary depending on the load of a GPRS network, but both of them are, of course, limited.
The accelerating systems known in the prior art still have certain drawbacks, which are discussed next.
The first drawback is that when the load of a GPRS network is high, a lot of packets are discarded, which causes slowness in the usage of Internet services.
The second drawback is that billing based on the amount of transmitted bits is erroneous when packets are discarded in the SGSN.
The third drawback is that repeatedly retransmitted packets may cause overload in a GPRS network, especially in the SGSN.
The fourth drawback is that acceleration actions are not necessarily targeted to those packets which cause the overload of a network.